Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
1. Field of the Invention
The present invention is related to data communications. In particular, the present invention is related to a method for distributing a label binding between a label and a Network layer route for label switching using the Open Shortest Path First (OSPF) Opaque Link State Advertisement (LSA) option protocol.
2. Description of the Related Art
The Transport Control Protocol/Internet Protocol (TCP/IP) suite of protocols is used in many of today""s internetnetworks (internets). A TCP/IP-based internet provides a data packet switching system for communication between nodes (e.g., end-user workstations, servers, network devices, etc.) connected to the internet. With reference to FIG. 1, Network layer devices known as routers or switches select a path and forward, i.e., route, IP datagrams between nodes connected to the internet. For example, internet 100 includes multiple separate physical networks 160-185 interconnected by switches A, B, C, D, and E at 105, 110, 115, 120, and 125, respectively. The switches route IP datagrams, for example, between nodes 190 and 195, via the multiple physical networks in the internet.
In traditional destination address based routing, a source node, e.g., node 195, transmitting an IP datagram to a destination node, e.g., node 190, specifies as a destination IP address the IP address of the destination node (10.7.1.1) in the IP datagram. The IP datagram is encapsulated in a physical frame and sent to the switch attached to the same physical network as the source node, e.g., switch B or D. The switch, in turn, extracts the IP datagram, and determines the destination IP address. The switch selects the next hop switch enroute to the destination node and again encapsulates the datagram in a physical frame for transmission to the next hop switch. This process continues until the IP datagram reaches the network to which the destination node is connected, wherein the datagram is delivered to the destination node.
Routing tables on each switch store information about what networks are reachable, either directly or via adjacent switches. When a switch receives an IP datagram, it compares the network portion of the IP destination address in the datagram, referred to herein as the address prefix, with the network reachability information stored in its routing table. If a match is found, the switch sends the datagram over the appropriate, directly attached network to the next hop switch through which the destination network is reachable, or directly to the node, if the destination network is directly attached to the switch.
In the event of topological changes to network 100, network reachability information may be maintained up to date automatically in network 100, through the use of an interior gateway protocol (IGP), such as the well known Open Shortest Path First (OSPF) Version 2 TCP/IP internet routing protocol, the specification of which is set forth in the Internet Standard Request For Comments (RFC) 1583, March, 1994. In addition to exchanging network reachability information between switches, OSPF routes IP datagrams over one of possibly multiple routes based on the destination IP address and IP Type of Service specified in the IP header of the datagrams. Further details of the well known OSPF version 2 routing protocol may be found in RFC 1583.
Growth of the Internet, as well as private internets, has placed demands not only on bandwidth requirements, but also the internet routing protocols. Traditional destination address based routing using OSPF version 2 generally allows traffic to be routed based only on destination IP address and IP type of service. New approaches to routing have been sought to improve routing functionality and control as changes in internet traffic patterns and volume emerge.
A relatively recent routing protocol has been proposed known as label switching or tag switching, which combines a label-swapping forwarding paradigm with Network layer routing to provide flexible unicast or multicast routing control for a wide range of traffic patterns and forwarding granularities. For example, label switching provides for routing based on such criteria as destination IP address, a group of destinations, or a single application flow. Essentially, a label, or tag, is associated with selected data packets and routing decisions are made by a switch based on the label associated with the packets. In label switching, a switch (known as and referred to herein as a label switch) compares labels contained in the data packets it receives from an attached network with label forwarding information maintained in the memory of the label switch to perform packet forwarding.
The label forwarding information is maintained by exchanging control information, that is, label forwarding information, among a group of interconnected label switches in an internet. When a packet containing a label is received at a label switch, the label is used by the switch as an index into a data structure, referred to herein as a forwarding table, containing the label forwarding information. The switch compares the received label with the entries in the forwarding table. Each entry contains an incoming label against which the received label is compared, and one or more outgoing labels that are swapped with the received label if a match occurs. Additionally, each entry maintains appropriate interface and link layer information necessary to properly forward the data packet out an interface of the label switch. If the label switch finds an entry in the forwarding table with the incoming label equal to the received label, then the switch swaps the receiving label with an outgoing label, updates the link layer information in the data packet, and forwards the data packet out an appropriate interface, for each of the one or more outgoing labels in the entry.
Label switching involves the binding of labels and Network layer routing information, e.g., binding a label to a route, a group of routes, or an application flow. A label switching control protocol, separate from the forwarding protocol briefly described above, generates the label bindings by allocating a label and binding the label to the routing information. The label switching protocol then distributes the label binding information between the interconnected group of label switches in the internet. The binding information may be distributed among the interconnected group of label switches utilizing an existing routing protocol or a label distribution protocol provided specifically for distribution of the label binding information.
Label switches support, among other things, destination address based routing, in which data packets are forwarded by the label switch based on the destination address in the data packet and the contents of a routing table maintained by the label switch. A label switch allocates and binds the labels to destination address prefixes in the routing table. For each route in the routing table, the label switch allocates a label and generates an entry in the label forwarding table for the allocated label. The allocation and binding of the label, as well as the distribution of the binding information, may be the responsibility of a downstream label switch, i.e., the switch at the receiving end of a network segment with respect to the direction of a transmitted data packet, or an upstream label switch. Additionally, the distribution of binding information may occur as updates or upon request of an adjacent or neighboring label switch. A label switch also receives label binding information for a next hop route from an adjacent label switch and places it in the forwarding table.
It is contemplated that such binding information is advertised using a label distribution protocol or an existing routing protocol. However, there is presently no preferred method of advertising the binding information to a group of interconnected label switches. What is needed is an efficient, transparent method of distributing such information using an existing, widely used protocol.
A method is described for distributing label binding information, e.g., a binding between a label and a network layer route, in a label switching environment using the Open Shortest Path First (OSPF) Opaque Link State Advertisement (LSA) option protocol. The binding information is included in an application specific field following the LSA header. LS type 9 LSA packets are used to limit the flooding scope to the local network segments attached to the label switch. Address prefix information, i.e., network address and subnet mask, are transmitted and associated with a label in the application specific field of the Opaque LSA packet. The Opaque LSA packets are exchanged between a group of interconnected Opaque LSA capable label switches so that the label switches can maintain their label forwarding tables and routing tables as necessary to forward data packets according to a label swapping forwarding paradigm.